Spine#

Morphometry#

Code imports#

# Python imports 
from IPython.display import clear_output
from pathlib import Path
import numpy as np

import pandas as pd
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', 1000)
pd.set_option('display.colheader_justify', 'center')
pd.set_option('display.precision', 1)

# Import custom tools
from tools.data import Data
from tools.plot import Plot
from tools.stats import Stats

Download data#

data_type = 'spine'
release_version = 'latest'

dataset = Data(data_type)
dataset.download(release_version)
Archive:  spinalcord_results.zip
  inflating: data/spine/DWI_RD.csv   
  inflating: data/spine/DWI_FA.csv   
  inflating: data/spine/csa-SC_T2w.csv  
  inflating: data/spine/DWI_MD.csv   
  inflating: data/spine/MTR.csv      
  inflating: data/spine/MTsat.csv    
  inflating: data/spine/csa-GM_T2s.csv  
  inflating: data/spine/csa-SC_T1w.csv  
  inflating: data/spine/T1.csv       
--2023-02-08 16:58:33--  https://github.com/courtois-neuromod/anat-processing/releases/download/r20220804/spinalcord_results.zip
Resolving github.com (github.com)... 140.82.113.4
Connecting to github.com (github.com)|140.82.113.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/333825187/c7568fab-84d3-45d2-950a-09ca065b1495?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230208%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230208T165833Z&X-Amz-Expires=300&X-Amz-Signature=cb388fe104d9843a76bcaa8d4e8a6b61fcff551b005309439757e1359f3694c8&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=333825187&response-content-disposition=attachment%3B%20filename%3Dspinalcord_results.zip&response-content-type=application%2Foctet-stream [following]
--2023-02-08 16:58:33--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/333825187/c7568fab-84d3-45d2-950a-09ca065b1495?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230208%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230208T165833Z&X-Amz-Expires=300&X-Amz-Signature=cb388fe104d9843a76bcaa8d4e8a6b61fcff551b005309439757e1359f3694c8&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=333825187&response-content-disposition=attachment%3B%20filename%3Dspinalcord_results.zip&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.111.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 47607 (46K) [application/octet-stream]
Saving to: ‘spinalcord_results.zip’

     0K .......... .......... .......... .......... ......    100% 8.69M=0.005s

2023-02-08 16:58:33 (8.69 MB/s) - ‘spinalcord_results.zip’ saved [47607/47607]

Load data plot it#

dataset.num_sessions
dataset.load()

fig_spine = Plot(dataset, plot_name = 'spine-wm')

fig_spine.title = 'WM spinal cord morphometry'

White matter#

# If you're running this notebook in a Jupyter Notebook (eg, on MyBinder), change 'jupyter-book' to 'notebook'
fig_spine.display('jupyter-book', fig_id = 'spine-csa-wm')

Grey matter#

fig_spine = Plot(dataset, plot_name = 'spine-gm')

fig_spine.title = 'GM spinal cord morphometry'
# If you're running this notebook in a Jupyter Notebook (eg, on MyBinder), change 'jupyter-book' to 'notebook'
fig_spine.display('jupyter-book', fig_id = 'spine-csa-gm')

Statistics#

stats_csa = Stats(dataset)
stats_csa.build_df()
stats_csa.build_stats_table()
display(stats_csa.stats_table)
WM area (T1w) WM area (T2w) GM area (T2s)
intrasubject COV mean [%] 4.5 2.3 10.3
intrasubject COV std [%] 3.3 1.7 10.4
intersubject mean COV [%] 5.1 9.7 4.7

Quantitative MRI#

White matter#

data_type = 'qmri'
release_version = 'latest'

dataset = Data(data_type)
dataset.download(release_version)
Archive:  spinalcord_results.zip
  inflating: data/qmri/DWI_RD.csv    
  inflating: data/qmri/DWI_FA.csv    
  inflating: data/qmri/csa-SC_T2w.csv  
  inflating: data/qmri/DWI_MD.csv    
  inflating: data/qmri/MTR.csv       
  inflating: data/qmri/MTsat.csv     
  inflating: data/qmri/csa-GM_T2s.csv  
  inflating: data/qmri/csa-SC_T1w.csv  
  inflating: data/qmri/T1.csv        
--2023-02-08 16:58:34--  https://github.com/courtois-neuromod/anat-processing/releases/download/r20220804/spinalcord_results.zip
Resolving github.com (github.com)... 140.82.113.4
Connecting to github.com (github.com)|140.82.113.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/333825187/c7568fab-84d3-45d2-950a-09ca065b1495?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230208%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230208T165833Z&X-Amz-Expires=300&X-Amz-Signature=cb388fe104d9843a76bcaa8d4e8a6b61fcff551b005309439757e1359f3694c8&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=333825187&response-content-disposition=attachment%3B%20filename%3Dspinalcord_results.zip&response-content-type=application%2Foctet-stream [following]
--2023-02-08 16:58:34--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/333825187/c7568fab-84d3-45d2-950a-09ca065b1495?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230208%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230208T165833Z&X-Amz-Expires=300&X-Amz-Signature=cb388fe104d9843a76bcaa8d4e8a6b61fcff551b005309439757e1359f3694c8&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=333825187&response-content-disposition=attachment%3B%20filename%3Dspinalcord_results.zip&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.110.133, 185.199.108.133, 185.199.109.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.110.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 47607 (46K) [application/octet-stream]
Saving to: ‘spinalcord_results.zip’

     0K .......... .......... .......... .......... ......    100% 9.38M=0.005s

2023-02-08 16:58:34 (9.38 MB/s) - ‘spinalcord_results.zip’ saved [47607/47607]
dataset.load()
fig_spine = Plot(dataset, plot_name = 'spine-2')
fig_spine.title = 'Spinal cord qMRI measures'
# If you're running this notebook in a Jupyter Notebook (eg, on MyBinder), change 'jupyter-book' to 'notebook'
fig_spine.display('jupyter-book', fig_id = 'spine-qmri-wm')

Statistics#

stats_qmri = Stats(dataset)
stats_qmri.build_df()
stats_qmri.build_stats_table()
display(stats_qmri.stats_table)
FA (DWI) MD (DWI) RD (DWI) MTR MTsat T1 (MTsat)
intrasubject COV mean [%] 3.9 5.0 9.5 5.1 7.9 6.4
intrasubject COV std [%] 0.9 1.8 2.8 5.2 4.9 3.5
intersubject mean COV [%] 4.3 5.2 8.4 4.6 4.0 7.9